package cn.bugstack.springframework.aop;

import org.aopalliance.aop.Advice;

/**
 介绍一下Spring中的Advice接口、BeforeAdvice接口、MethodBeforeAdvice接口？
 在 Spring 框架中，Advice 接口以及其子接口 BeforeAdvice 和 MethodBeforeAdvice 是 AOP 编程中的重要组件，用于实现横切关注点的功能。
 Advice 接口：
    Advice 接口是 Spring AOP 中所有通知（advice）的顶级接口，它定义了通知的基本行为。
    通知是指横切关注点的具体实现，例如在目标方法执行前、执行后、抛出异常时等时刻执行的操作。
    Advice 接口本身没有任何方法，它是一个标记接口，用于表示通知的概念。
 BeforeAdvice 接口：
    BeforeAdvice 接口是 Advice 接口的子接口，用于表示前置通知（before advice）。
     前置通知是指在目标方法执行之前执行的操作，例如权限检查、日志记录等。
 MethodBeforeAdvice 接口：
    MethodBeforeAdvice 接口是 BeforeAdvice 接口的子接口，用于表示方法前置通知。
    方法前置通知是指在目标方法执行之前执行的操作，它与具体的方法相关联，可以获取目标方法的信息，例如方法名、参数等。
    MethodBeforeAdvice 接口定义了一个 before 方法，用于在目标方法执行之前执行特定的操作。

 public class MyMethodBeforeAdvice implements MethodBeforeAdvice {
    @Override
    public void before(Method method, Object[] args, Object target) throws Throwable {
    System.out.println("Before advice: Executing method " + method.getName());
        // 在目标方法执行之前执行的操作
    }
}
 */
public interface BeforeAdvice extends Advice {

}